# -*- coding: utf-8 -*-
# Created by zhangyanqi on 2018/4/14

"""
给定一个排序数组，你需要在原地删除重复出现的元素，使得每个元素只出现一次，返回移除后数组的新长度。

不要使用额外的数组空间，你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。

思路：
    排序，然后去重
"""


class Solution:
    def removeDuplicates(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        s = set(nums)
        nums.clear()
        values = sorted(s)
        for k in values:
            nums.append(k)
        return len(nums)


if __name__ == "__main__":
    s = Solution()
    consecutive = s.longestConsecutive([0, 2, -1, 1, 4])
    print(consecutive)
